This application relates generally to handheld computing devices and more specifically to synchronizing data between a handheld device and a server.
In today's corporate business environments, networked information systems are ubiquitous. Almost as universal is the ability to have data and programs from the computer network available on a mobile device. The most common such devices are laptop computers, but more recently handheld computing devices have begun to proliferate. An example of such an environment is the health care industry. While a networked computer system keeps track of all patient information, doctors have begun to utilize handheld computing devices to view and edit patient data while making rounds. After doing so for a period of time, the doctor will then synchronize the handheld device to a server coupled to the information network. The synchronization process includes the uploading of data from the handheld device to the server, as well as the downloading of data from the server to the handheld device. It can also include updating of software. An example of such a system is that which is offered by PatientKeeper, Inc. The PatientKeeper systems are described in U.S. patent application Ser. No. 09/356,543, titled “Device for Automating Billing Reimbursement,” by inventors Matthew D. Barnhart, Stephen S. Hau, Yuri Ostrovsky and MinPont Chien, filed on Jul. 19, 1999 and U.S. patent application Ser. No. 09/356,751, titled “System for Automating Billing Reimbursement,” by inventors Matthew D. Barnhart, Stephen S. Hau, Patrick McCormick, George A. Madrid, Craig A. Fields and Sanjay S. Vakil, filed on Jul. 19, 1999, the teachings of which are incorporated herein by reference.
A problem presented by the synchronization process is that data is often changed or updated on the server or network one or more times between synchronizations and is often changed on the handheld device as well. Thus, a problem in keeping data on a plurality of handheld devices and a server properly synchronized is tracking and maintaining the correct version of the data on the multitude of handheld devices. An additional problem is that the objects that are used by the handheld device may not directly map to the objects on the repository in a trivial way.